/**
 * Principal.cpp
 *
 *  Created on: 27/12/2009
 *      Author: San Martín, Matías I.
 */

#include <list>

#include <assert.h>

#include "Framework/IO/log.h"
#include "Framework/Common/utiles.h"
#include "Framework/Shared/shlist.h"

/*
#include "Middleware/Common/CommonTypes.h"
#include "Middleware/Comunicaciones/MiddlewareCliente.h"
#include "Middleware/EnDirectorio/Anillo.h"
*/

#include "Aplicacion/Infraestructura/DirectorioImpl.h"
#include "Aplicacion/Common/InformacionCreacionUniverso.h"
#include "Aplicacion/Modelo/Common/InformacionPlaneta.h"

using namespace std;

using aplicacion::DirectorioImpl;
using aplicacion::DirectorioSingleton;
using aplicacion::InformacionCreacionUniverso;
using aplicacion::InformacionPlaneta;

void sigint(int signal) {
//	MiddlewareClienteSingleton::instance().finish();
	exit(0);
}

int main(int argc, char **argv) {
	logger.set_pname("Principal");

	DirectorioImpl& dir = DirectorioSingleton::instance();

	logger << "presione ENTER para agregar un universo" << logger.endl;
	getchar();

	InformacionCreacionUniverso u;
	u._minPlanetas = 1;
	u._maxPlanetas = 1;
	u._timeout = 2;

	if(!dir.registrarNuevo(u)) {
		logger << "error registrando universo" << logger.endl;
		return 1;
	}

	logger << "presione ENTER para agregarse como planeta\n" << logger.endl;
	getchar();

	InformacionPlaneta p;

	if(!dir.add(u, p)) {
		logger << "error registrando planeta" << logger.endl;
		return 1;
	}

	return 0;
}
